//
//  UIBarbuttonItem+Extension.swift
//  HMWeibo1
//
//  Created by liGordon on 16/4/12.
//  Copyright © 2016年 lifuli. All rights reserved.
//

import UIKit



extension UIBarButtonItem {
    
    /**
    *   
        遍历构造函数: 方便创建对象
    1. 在父类里面只能使用遍历构造函数
    2. 遍历构造函数最终需要调用一个指定构造函数
    3. 调用遍历构造函数,要保证调用的这个遍历构造函数会调用到指定的构造函数
    4. 构造函数不会省略第一个外部参数名
    
    */
    
    /// 创建一个带按钮的UIBarButtonItem
    convenience init(imageName: String, target: AnyObject?, action: Selector) {
        //  创建按钮
        let button = UIButton()
        
        //  设置按钮
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        
        
        // 创建UIBarbuttonItem对象设置customView
        // public convenience init(customView: UIView) 他内部回去调用指定构造函数
        self.init(customView: button)
    }
    
    
    
    
    /// 使用类方法
    class func createBarButtonItem(imageName: String) -> UIBarButtonItem {
    
    // 创建按钮
    let button = UIButton()
    
    // 设置按钮
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: "\(imageName)_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
    
        // 创建UIBarbuttonitem设置customView返回回去
        return UIBarButtonItem(customView: button)
    }
    
    
}